using Circus.CodeEditor.TextSource;
using Circus.Syntax;
using System;
namespace Circus.CodeEditor
{
	public class HitTestInfo
	{
		private HitTest hitTest = HitTest.None;
		private int line = -1;
		private int pos = -1;
		private int gutterImage = -1;
		private int bookmark = -1;
		private int group;
		private int outlineIndex = -1;
		private int page = -1;
		private int style = -1;
		private StringItem item = null;
		private string str = null;
		private string word = null;
		private string url = null;
		private OutlineRange outlineRange = null;
		private TextStyle textStyle = TextStyle.None;
		public virtual HitTest HitTest
		{
			get
			{
				return this.hitTest;
			}
			set
			{
				this.hitTest = value;
			}
		}
		public virtual int Line
		{
			get
			{
				return this.line;
			}
			set
			{
				this.line = value;
			}
		}
		public virtual int Pos
		{
			get
			{
				return this.pos;
			}
			set
			{
				this.pos = value;
			}
		}
		public virtual StringItem Item
		{
			get
			{
				return this.item;
			}
			set
			{
				this.item = value;
			}
		}
		public virtual string String
		{
			get
			{
				return this.str;
			}
			set
			{
				this.str = value;
			}
		}
		public virtual string Word
		{
			get
			{
				return this.word;
			}
			set
			{
				this.word = value;
			}
		}
		public virtual string Url
		{
			get
			{
				return this.url;
			}
			set
			{
				this.url = value;
			}
		}
		public virtual int GutterImage
		{
			get
			{
				return this.gutterImage;
			}
			set
			{
				this.gutterImage = value;
			}
		}
		public virtual int Bookmark
		{
			get
			{
				return this.bookmark;
			}
			set
			{
				this.bookmark = value;
			}
		}
		public virtual int Group
		{
			get
			{
				return this.group;
			}
			set
			{
				this.group = value;
			}
		}
		public virtual int OutlineIndex
		{
			get
			{
				return this.outlineIndex;
			}
			set
			{
				this.outlineIndex = value;
			}
		}
		public virtual OutlineRange OutlineRange
		{
			get
			{
				return this.outlineRange;
			}
			set
			{
				this.outlineRange = value;
			}
		}
		public virtual int Page
		{
			get
			{
				return this.page;
			}
			set
			{
				this.page = value;
			}
		}
		public virtual int Style
		{
			get
			{
				return this.style;
			}
			set
			{
				this.style = value;
			}
		}
		public virtual TextStyle TextStyle
		{
			get
			{
				return this.textStyle;
			}
			set
			{
				this.textStyle = value;
			}
		}
		public void Reset()
		{
			this.hitTest = HitTest.None;
			this.line = -1;
			this.pos = -1;
			this.gutterImage = -1;
			this.bookmark = -1;
			this.group = 0;
			this.outlineIndex = -1;
			this.page = -1;
			this.style = -1;
			this.item = null;
			this.str = null;
			this.word = null;
			this.url = null;
			this.outlineRange = null;
			this.textStyle = TextStyle.None;
		}
	}
}
